package org.example.pingpong.config;

import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor;
import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MybatisConfig {

    /**
     * 配置 MyBatis-Plus 拦截器 Bean，用于增强 MyBatis 功能。
     * 此方法配置了分页插件，支持数据库的分页查询。
     *
     * @return 配置好的 MybatisPlusInterceptor 实例
     */
    @Bean
    public MybatisPlusInterceptor mybatisPlusInterceptor() {
        // 创建 MyBatis-Plus 拦截器实例
        MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();

        // 创建分页插件，指定数据库类型为 MySQL
        PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(DbType.MYSQL);

        // 将分页插件添加到 MyBatis-Plus 拦截器中
        interceptor.addInnerInterceptor(paginationInnerInterceptor);

        // 返回配置好的拦截器实例
        return interceptor;
    }
}
